
Val* list_get_at_impl(VM* vm, Val* v, int n) {
	if (val_is_vec(v)) 
		vm_push(vec_get_val(v, n)); else
		vm_push(val_add_ref(obj_at(v, n)));
}

void list_set_at_impl(VM* vm, Val* v, Val* x, int n) {
	if (val_is_vec(v)) 
		vec_set_val(v, x, n), val_del_ref(x); else
		val_del_ref(obj_at(v, n)), obj_at(v, n) = x; 
}

void list_for_each(VM* vm, Val* f) {

}